import qqmapsdk from '../../../utils/qqmap'

Page({
  data: {
    address: '', // 当前地点
    points: [], // 周边小区
  },
  onLoad() {
    this.getLocation()
  },
  // 1. 获取用户当前的经纬度
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    this.getPoints(latitude, longitude)
  },
  // 2. 获取用户选择位置的经纬度
  async chooseLocation() {
    const { latitude, longitude } = await wx.chooseLocation()
    this.getPoints(latitude, longitude)
  },
  // 3. 获取位置信息
  getPoints(latitude, longitude) {
    // 3.0 界面交互
    wx.showLoading({
      title: '正在加载中~',
    })
    // 3.1 逆地址解析
    qqmapsdk.reverseGeocoder({
      location: [latitude, longitude].join(',') || '',
      success: (res) => {
        this.setData({
          address: res.result.address,
        })
      },
      fail: (error) => {
        console.error(error)
      },
    })
    // 3.2 搜搜附近的小区
    qqmapsdk.search({
      keyword: '小区', //搜索关键词
      location: [latitude, longitude].join(',') || '', //设置周边搜索中心点
      page_size: 6,
      success: (res) => {
        // 从源对象中取出部分属性组成新对象
        const tempArr = res.data.map(({ id, title, _distance }) => {
          return { id, title, _distance }
        })
        this.setData({
          points: tempArr,
        })
      },
      fail: (error) => {
        console.error(error)
      },
      complete: () => {
        wx.hideLoading()
      },
    })
  },
  // 4. 去选择楼栋页面
  goBuilding(e) {
    wx.navigateTo({
      url: `/house_pkg/pages/building/index?point=${e.mark.point}`,
    })
  },
})
